/*---------------------------------------------------------------------------------**//**
* @method                                    Y.Dong                     %CreateTime%
+---------------+---------------+---------------+---------------+---------------+------*/

#pragma once

#include "PlaceArchGjByWinSelectTool.h"

class %Class%Tool : public PlaceArchGjByWinSelectToolSetting
{
    DEFINE_T_SUPER(PlaceArchGjByWinSelectTool)

protected:
    virtual Utf8CP              _GetToolId() const override                { return %schemaName%; }
    virtual void                _OnRestartTool() override;
    virtual bool                _OnInstall() override;

    virtual bool                _OnPlaceObjectBySelection(DgnProjectR project) override;
    virtual void                _DynamicDrawOnScreen(IndexedViewportP vp) override;

public:
    %Class%Tool();
    void GjDynamicDraw(PBArchColumn colData);
    BOOL CreateColmDataAtPoint(PBArchColumn& colData, DPoint3d origin);
    StatusInt CalculatePlacement(YawPitchRollAnglesR angles, DPoint3dCR startPt, DPoint3dR endPt);
    void GetLayoutData(PBLayoutDataR layout);
    PBArchiStorey* m_curArchiStorey;
    PBBim::PBBimCore::PBLayoutData m_layout;
    std::vector<PBArchColumn> m_datas;
};
